1341B - Nastya and Door - CodeForces Solution


greedy implementation *1300

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
using namespace std;
int n,k;
int t;
const int N = 2e5 + 10;
int a[N];
int b[N];
int main()
{
	cin >> t;
	while(t --)
	{
		int j = 0;
		int ans = 0,sum,l;
		memset(b,0,sizeof(b));
		cin >> n >> k;
		for(int i = 1;i <= n;i ++)
		cin >> a[i];
		for(int i = 2;i < n;i ++)
		{
			if(a[i] > a[i - 1] && a[i] > a[i + 1])
			b[i] = 1;//在i点为山顶
			b[i] += b[i - 1];// 
		}
		for(int i = 1;i + k - 1 <= n;i ++)
		{
			sum = b[i + k - 2] - b[i] + 1;
			if(sum > ans)
			{
				ans = sum;
				l = i;
			}
		}
		cout << ans << " " << l << endl;
	}
}
					  				  		      						 	


Comments

Submit
0 Comments
More Questions

981A - Antipalindrome
365A - Good Number
1204B - Mislove Has Lost an Array
1409D - Decrease the Sum of Digits
1476E - Pattern Matching
1107A - Digits Sequence Dividing
1348A - Phoenix and Balance
1343B - Balanced Array
1186A - Vus the Cossack and a Contest
1494A - ABC String
1606A - AB Balance
1658C - Shinju and the Lost Permutation
1547C - Pair Programming
550A - Two Substrings
797B - Odd sum
1093A - Dice Rolling
1360B - Honest Coach
1399C - Boats Competition
1609C - Complex Market Analysis
1657E - Star MST
1143B - Nirvana
1285A - Mezo Playing Zoma
919B - Perfect Number
894A - QAQ
1551A - Polycarp and Coins
313A - Ilya and Bank Account
1469A - Regular Bracket Sequence
919C - Seat Arrangements
1634A - Reverse and Concatenate
1619C - Wrong Addition